…
df <- readxl::read_excel('./mobile_app_user_dataset_1.xlsx')[-1,]
Uma vez que é uma pesquisa sobre mobile devices, veremos qual a proporção de pessoas que de fato possuem um device.
df %>%
select(Q2) %>%
drop_na() %>%
mutate(
Q2 = case_when(
Q2 == 1 ~ "Possui",
Q2 != 1 ~ "Não Possui"
)
) %>%
ggplot(
aes(
y = Q2,
fill = Q2
)
) +
geom_bar(
position = "dodge",
) +
geom_label(
stat = 'count',
aes(
label = ..count..,
),
color = 'white',
show.legend = FALSE
) +
labs(
y = "",
x = "Total de Pessoas",
title = "Distribuição de pessoas que tem ou não celular",
subtitle = "Dados oriundos da pesquisa realizada pela Harvard"
) +
scale_fill_manual(
values = c( "#C4161C", "#009491"),
) +
theme_classic() +
theme(
axis.title.x = element_text(vjust=-.2, size=11),
legend.title = element_blank()
)
Podemos visualizar que a grande parte das pessoas possuem celular.
A proporção de pessoas que não tem é de 12%.
Visualizaremos agora os diferentes tipos de dispositivos utilizados pelos usuários que possuem celular
phone_format <- function (phone_list, phone_type, apply_function = function(param) param) {
phone_dic = list(
apple = c("apple", "iphone", "ipad", "aple", "appale", "ipod", "aplle", "i-phone", "ipone", "applke", "applr", "appme", "iphon"),
blackberry = c("blackberry", "blackb", "blackeb", "baclkberry", "blakckberry", "blacberry", "blakberry", "blackerry", "bleckberry"),
samsung = c("samsung", "samsumg", "sansung", "sumsung", "samsug", "samsun", "samgung", "samsing", "samung", "sansug", "samasung", "samsang", "samsong", "sumsang", "galaxynote"),
null = c("\\?", "9000", "930p"),
sony_ericsson = c("sony-", "sonyer", "sony", "erison"),
nokia = c("nokia", "nokya"),
asus = c("asus"),
acer = c("acer")
)
str_detect(phone_list, paste(phone_dic[[phone_type]], collapse = "|")) ~ apply_function(phone_type)
}
phones <- df %>%
filter(Q2 == 1) %>%
select(Q3_1_TEXT) %>%
drop_na() %>%
mutate(
Q3 = str_replace(str_to_lower(Q3_1_TEXT), " ", "")
) %>%
mutate(
Q3 = case_when(
phone_format(Q3, "apple"),
phone_format(Q3, "samsung"),
phone_format(Q3, "blackberry"),
phone_format(Q3, "null"),
phone_format(Q3, "sony_ericsson", function(param) str_replace(param, "_", " ")),
TRUE ~ Q3
)
) %>%
group_by(Q3) %>%
count() %>%
arrange(desc(n))
phones
length(names(df))
[1] 161
df
q5_answers <- data.frame(
row.names = c(1, 2, 3, 4, 5, 6, 7, 8, 9),
val = c("Never", "Less than once a month ", "Once a month", "More than once a month", "Once a week", "More than once a week", "Once a day", "Several times a day", "Other")
)
df %>%
select(Q5) %>%
drop_na() %>%
mutate(
Q5_TEXT = qr_answers[Q5, ]
) %>%
group_by(Q5_TEXT) %>%
count() %>%
arrange(desc(n)) %>%
ggplot(
aes(
x = reorder(Q5_TEXT, -n),
y = n,
fill = Q5_TEXT
)
) +
geom_col() +
labs(
x = 'Frequencia de abertura da loja de aplicativos',
y = 'Total'
) +
theme(
axis.text.x = element_text(angle = 45, vjust=.6),
)
NA
q6_answers <- data.frame(
row.names = c(1, 2, 3, 4, 5, 6),
val = c("0 - 1", "2 - 5", "6 - 10", "11 - 20", "21 - 30", "Mais de 30")
)
df %>%
select(Q6) %>%
drop_na() %>%
mutate(
Q6_TEXT = q6_answers[Q6,]
) %>%
group_by(Q6_TEXT) %>%
count() %>%
ggplot(
aes(
x = reorder(Q6_TEXT, -n),
y = n,
fill = Q6_TEXT
)
) +
geom_col() +
labs(
x = 'Quantidade de aplicativos baixados por mês',
y = 'Total',
) +
theme_classic() +
labs(
fill = 'Frequência'
) +
theme(
axis.text.x = element_text(vjust = -1),
axis.title.x = element_text(vjust = -1),
)
Vamos ver se a galera que mais baixa é a galera que mais acessa a loja
df %>%
select(Q5, Q6) %>%
drop_na() %>%
mutate(
Q5 = q5_answers[Q5,],
Q6 = q6_answers[Q6, ]
) %>%
group_by(Q5, Q6) %>%
count() %>%
arrange(desc(n)) %>%
ggplot(
aes(
y = reorder(Q5, -n),
x = n,
fill = Q6
)
) +
geom_bar(
stat = "identity",
position = position_dodge(width = 1)
) +
geom_label(
aes(
label = n,
),
size = 3
) +
labs(
y = 'Frequência de acesso à loja de aplicativos',
x = 'Total'
) +
theme(
axis.text.x = element_text(angle = 20, vjust = 0.5),
) +
facet_grid(rows = 'Q6')